import type { UserInfo } from '@/api/login/type'

/**
 * 角色类型
 * @id: id
 * @name: 角色名
 */
export interface Role {
  id: number
  name: string
  normalizedName: string
  concurrencyStamp: number
}

/**
 * 异常信息
 * @code: 错误代码
 * @message: 错误信息
 */
export interface Exception {
  code: string
  message: string
}

/**
 * 与角色相关的返回类型
 * @succeeded: 添加角色是否成功，true:成功，false:失败
 * @errors: 失败信息
 */
export interface AddOrUpdateRoleResponse {
  succeeded: boolean
  errors: Exception[]
}

/**
 * 查询角色的返回值类型
 * @pageIndex: 页码
 * @totalPages: 总页数
 * @items:  角色数组
 * @pageSize: 每页显示条数
 * @count: 用户总数
 */
export interface RoleResponse {
  pageIndex: number
  totalPages: number
  items: Role[]
  pageSize: number
  count: number
}

/**
 * 角色权限类型
 * @roleId: 角色id
 * @menuIds: 菜单id
 */
export interface RoleMenuVo {
  roleId: number
  menuIdList: number[]
}
